ca3e3a946698cf3a4f93e6fb7b4d2b16ee2e3ed5,java-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodCallExprContext.java,MethodCallExprContext,solveMethod,#String#List#TypeSolver#,124
Before Change
@Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<Type> argumentsTypes, TypeSolver typeSolver) {
if (wrappedNode.getScope().isPresent()) {
// consider static methods
if (wrappedNode.getScope().get() instanceof NameExpr) {
NameExpr scopeAsName = (NameExpr) wrappedNode.getScope().get();
SymbolReference symbolReference = this.solveType(scopeAsName.getName(), typeSolver);
if (symbolReference.isSolved() && symbolReference.getCorrespondingDeclaration().isType()) {
TypeDeclaration typeDeclaration = symbolReference.getCorrespondingDeclaration().asType();
return MethodResolutionLogic.solveMethodInType(typeDeclaration, name, argumentsTypes, typeSolver);
}
}
Type typeOfScope = null;
try {
typeOfScope = JavaParserFacade.get(typeSolver).getType(wrappedNode.getScope().get());
} catch (Exception e) {
throw new RuntimeException(String.format("Issur calculating the type of the scope of " + this), e);
}
After Change
@Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<Type> argumentsTypes, TypeSolver typeSolver) {
if (wrappedNode.getScope() != null) {
// consider static methods
if (wrappedNode.getScope() instanceof NameExpr) {
NameExpr scopeAsName = (NameExpr) wrappedNode.getScope();
SymbolReference symbolReference = this.solveType(scopeAsName.getName(), typeSolver);
if (symbolReference.isSolved() && symbolReference.getCorrespondingDeclaration().isType()) {
TypeDeclaration typeDeclaration = symbolReference.getCorrespondingDeclaration().asType();
return MethodResolutionLogic.solveMethodInType(typeDeclaration, name, argumentsTypes, typeSolver);
}
}
Type typeOfScope = null;
try {
typeOfScope = JavaParserFacade.get(typeSolver).getType(wrappedNode.getScope());
} catch (Exception e) {
throw new RuntimeException(String.format("Issur calculating the type of the scope of " + this), e);
}